<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 如果把同步代码看成是宏任务,那就是先宏后微
        // 如果把同步代码不看成是宏任务,先微后宏

        // 先执行同步代码,然后执行微任务(promise的then,async,await)然后再执行宏任务(定时器,ui渲染)
        // new Promise是同步
        // 1,4,2,5,3
        // 宏(同步代码) --> 微(then) --> 宏 (setTimeout)
        // 宏任务是二个客户
        // 客户办业务(宏任务),顺便 再给这个客户做微任务


        // 争议:同步代码属于宏任务
        // 先同步再异步 1 4 2 5 3 
        // 同步是宏任务 微任务 宏任务
        console.log(1)
        setTimeout(()=>{
            console.log(3)
        })
        new Promise(function(resolve,rejct){
            console.log(4)
            resolve(5)
        }).then(res=>{
            console.log(res)
        })
        console.log(2)
    </script>
</body>
</html>
